package com.fzkj;

/**
 * @DESCRIPTION: 测试逻辑与/或 和 短路与/或的差别
 * @AUTHOR: AnotherOne
 * @DATE: 2019/6/28 9:28
 */
public class ANDOR {

    /**
     * 短路或（ || ）：当第一个条件为true时，不需要判断第二个条件就直接返回true
     * 短路与（ && ）：当第一个条件为false时，不需要判断第二个条件就直接返回false
     * 逻辑或（ | ）：需要判断两个表达式后在返回
     * 逻辑与（ & ）：需要判断两个表达式后在返回
     */

    public static void main(String[] args) {
        for (int i = 0; i < args.length; i++) {
            System.out.println(args[i]);
        }
        System.out.println(AndPre() && AndSuffix());
        System.out.println("====================");
        System.out.println(OrPre() || OrSuffix());
    }

    public static boolean AndPre(){
        System.out.println("前面的与判断");
        return false;
    }

    public static boolean AndSuffix(){
        System.out.println("后面的与判断");
        return true;
    }

    public static boolean OrPre(){
        System.out.println("前面的或判断");
        return true;
    }

    public static boolean OrSuffix(){
        System.out.println("后面的或判断");
        return false;
    }

}
